package Java练习.字符串练习;

import java.util.Random;

public class 验证码进阶 {
    public static void main(String[] args) {
       //随机获取4位字母
        String str="";
        Random ra=new Random();
        for (int i = 0; i < 4; i++) {
            int index_str=ra.nextInt(52);
            str+=aZ()[index_str];
        }
       //定义一个数字数组
        int[] num={0,1,2,3,4,5,6,7,8,9};
        int index_num=ra.nextInt(10);
        str += num[index_num];
        //把字符串变成字符数组
        char[] ch_str=str.toCharArray();
        //获取ch_str中任意位置的字符索引
        int ch_index=ra.nextInt(ch_str.length);
        //定义一个临时第三方变量存放最后一位数字
        char tep=ch_str[ch_str.length-1];
        //与前面进行互换打乱
        ch_str[ch_str.length-1]=ch_str[ch_index];
        ch_str[ch_index]=tep;
        String new_str=new String(ch_str);
        System.out.println(new_str);
    }
    //定义一个方法生成任意4位字母
    public static char[] aZ(){
        //生成字母数组
        char[] a_Z=new char[52];
        for (int i = 0; i < a_Z.length; i++) {
            //添加小写字母
            if(i<26){
                a_Z[i]=(char) (97+i);
            }else {
                //添加大写字母
                a_Z[i]=(char) (65+i-26);
            }
        }
        return a_Z;
    }
}
